/**
 * 平台配置中心-系统配置
 */
import request from '@/utils/requestServe';
import store from '@/store';

/**
 * 功能模块 - 模块功能保存
 * @param {Object} data
 */
export const saveFuncModule = (data) => {
    return request({
        url: '/api-sys/base/module/save',
        method: 'post',
        data
    })
}

/**
 * 功能模块 - 根据id修改模块对象
 * @param {Object} data
 */
export const updateFuncModule = (data) => {
    return request({
        url: '/api-sys/base/module/update',
        method: 'post',
        data
    })
}

/**
 * 功能模块 - 根据ids删除模块对象
 * @param {Object} data
 */
export const deleteFuncModule = (data) => {
    return request({
        url: '/api-sys/base/module/deleteByIds',
        method: 'post',
        data
    })
}

/**
 * 功能模块 - 根据ids删除系统下的模块对象
 * @param {Object} data
 */
export const deleteModuleBySysCode = (data) => {
    return request({
        url: '/api-sys/base/module/deleteBySysCode',
        method: 'post',
        data
    })
}

/**
 * 功能模块 - 根据id查找功能模块
 * @param {Object} data
 */
export const queryFuncModuleById = (id) => {
    return request({
        url: '/api-sys/base/module/getById/' + id,
        method: 'get',
    })
}

/**
 * 功能模块 - 查询所有功能模块
 * @param {Object} data
 */
export const queryAllService = (data, tenementId) => {
    return request({
        url: '/api-sys/base/module/queryAll',
        method: 'post',
        tenementId: tenementId,
        data
    })
}

/**
 * 功能模块 - 查询所有功能模块
 * @param {Object} data
 */
export const queryPageService = (data, tenementId) => {
    return request({
        url: '/api-sys/base/module/pageQuery',
        method: 'post',
        tenementId: tenementId,
        data
    })
}

/**
 * 功能参数 - 功能参数分类
 * @param {Object} data
 */
export const queryParaClass = (data, tenementId) => {
    return request({
        url: '/api-sys/base/paraType/queryAll',
        method: 'post',
        tenementId,
        tenementId,
        data
    })
}

/**
 * 功能参数 - 参数分类保存
 * @param {Object} data
 */
export const saveParaClass = (data, tenementId) => {
    return request({
        url: '/api-sys/base/paraType/save',
        method: 'post',
        tenementId: tenementId,
        data
    })
}

/**
 * 功能参数 - 参数分类编辑
 * @param {Object} data
 */
export const editParaClass = (data) => {
    return request({
        url: '/api-sys/base/paraType/update',
        method: 'post',
        data
    })
}

/**
 * 功能参数 - 根据id查参数分类详情
 * @param {Object} data
 */
export const QueryParaTypeDetlById = (data, tenementId) => {
    return request({
        url: '/api-sys/base/paraType/getById/' + data.id + (tenementId ? ('?tenementId=' + tenementId) : ''),
        method: 'get'
    })
}

/**
 * 功能参数 - 根据id删除参数分类
 * @param {Object} data
 */
export const deleteParaTypeById = (data) => {
    return request({
        url: '/api-sys/base/paraType/deleteById',
        method: 'post',
        data
    })
}

/**
 * 功能参数 - 验证参数唯一性
 * @param {Object} data
 */
// export const validatorValStr = (typeCode, valStr) => {
//     return request({
//         url: 'base/para/getByValStr/' + typeCode + '/' + valStr,
//         method: 'get',
//     })
// }

export const validatorValStr = (typeCode, valStr) => {
    let data = {
        typeCode: typeCode,
        valStr: valStr
    }
    return request({
        url: '/api-sys/base/para/getNameByValStr',
        method: 'post',
        data: data
    })
}

/**
 * 功能参数 - 参数保存
 * @param {Object} data
 */
export const savePara = (data, tenementId) => {
    return request({
        url: '/api-sys/base/para/save',
        method: 'post',
        tenementId: tenementId,
        data
    })
}

/**
 * 功能参数 - 参数修改
 * @param {Object} data
 */
export const editPara = (data, tenementId) => {
    return request({
        url: '/api-sys/base/para/update',
        method: 'post',
        tenementId: tenementId,
        data
    })
}

/**
 * 功能参数 - 参数列表 (分页)
 * @param {Object} data
 */
export const queryParaList = (data, tenementId) => {
    return request({
        url: '/api-sys/base/para/queryPage',
        method: 'post',
        tenementId: tenementId,
        data
    })
}

/**
 * 功能参数 - 参数列表 (不分页)
 * @param {Object} data
 */
export const queryParaListAll = (data) => {
    return request({
        url: '/api-sys/base/para/queryAll',
        method: 'post',
        data
    })
}

/**
 * 功能参数 - 根据id删除参数
 * @param {Object} data
 */
export const deleteParaById = (data) => {
    return request({
        url: '/api-sys/base/para/deleteByIds',
        method: 'post',
        data
    })
}

/**
 * 功能参数 - 根据ID查参数明细
 * @param {Object} data
 */
export const queryParaDetail = (id, tenementId) => {
    return request({
        url: '/api-sys/base/para/getById/' + id + '?token=' + store.state.token.token + (tenementId ? ('&tenementId=' + tenementId) : ''),
        method: 'get'
    })
}

/**
 * 功能参数 - 根据ID查级联参数
 * @param {Object} data
 */
export const queryParaCascById = (id) => {
    return request({
        url: '/api-sys/base/paraCasc/getByParaId/' + id,
        method: 'get',
    })
}

/**
 * 功能参数 - 根据 参数ID和分类编号 查级联参数  业务参数
 * @param {Object} data
 */
export const queryParaCascByIdAndParamType = (id, paramType) => {
    return request({
        url: '/api-sys/base/paraCasc/getParaCasc/' + id + '/' + paramType,
        method: 'get'
    })
}


/**
 * 功能参数 - 功能参数-获取左侧树数据
 * @param {Object} data
 */
export const queryParaTree = (code) => {
    return request({
        url: '/api-sys/base/paraType/getTreeNode/' + code,
        method: 'get'
    })
}

/**
 * 资源配置 保存接口
 * @param {Object} data
 */
export const saveResource = (data) => {
    return request({
        url: '/api-sys/sys/plarform/resoure/save',
        method: 'post',
        data
    })
}

/**
 * 资源配置 修改接口
 * @param {Object} data
 */
export const modifyResource = (data) => {
    return request({
        url: '/api-sys/sys/plarform/resoure/update',
        method: 'post',
        data
    })
}

/**
 * 资源配置 不分页查询接口
 * @param {Object} data
 */
export const queryResource = (data) => {
    return request({
        url: '/api-sys/sys/plarform/resoure/query',
        method: 'post',
        data
    })
}

/**
 * 统一分类 新增接口
 * @param {Object} data
 */
export const saveTreeClass = (data) => {
    return request({
        url: '/api-sys/bsys/sclassify/save',
        method: 'post',
        data
    })
}

/**
 * 统一分类 修改接口
 * @param {Object} data
 */
export const updateTreeClass = (data) => {
    return request({
        url: '/api-sys/bsys/sclassify/update',
        method: 'post',
        data
    })
}

/**
 * 统一分类 明细接口
 * @param {Object} data
 */
export const treeClassInfo = (data) => {
    return request({
        url: '/api-sys/bsys/sclassify/getById',
        method: 'post',
        data
    })
}

/**
 * 统一分类 不分页查询接口
 * @param {Object} data
 */
export const queryTreeClass = (data) => {
    return request({
        url: '/api-sys/bsys/sclassify/query',
        method: 'post',
        data
    })
}

/**
 * 统一分类 查询接口（树形结果）
 * @param {Object} data
 */
export const queryTree = (data) => {
    return request({
        url: '/api-sys/bsys/sclassify/queryTree',
        method: 'post',
        data
    })
}

/**
 * 统一分类 删除接口
 * @param {Object} data
 */
export const deleteTreeClass = (data) => {
    return request({
        url: '/api-sys/bsys/sclassify/deleteByIds',
        method: 'post',
        data
    })
}

/**
 * 统一分类 排序接口
 * @param {Object} data
 */
export const updateOrderTreeClass = (data) => {
    return request({
        url: '/api-sys/bsys/sclassify/updateOrder',
        method: 'post',
        data
    })
}

/**
 * 租户管理 新增或修改接口
 * @param {Object} data
 */
export const saveOrUpdateTent = (data) => {
    return request({
        url: '/api-sys/sys/tent/saveOrUpdate',
        method: 'post',
        data
    })
}

/**
 * 租户管理 删除接口
 * @param {Object} data
 */
export const deleteByIdsTent = (data) => {
    return request({
        url: '/api-sys/sys/tent/deleteByIds',
        method: 'post',
        data
    })
}

/**
 * 租户管理 明细接口
 * @param {Object} data
 */
export const getByIdTent = (data) => {
    return request({
        url: '/api-sys/sys/tent/getById',
        method: 'post',
        data
    })
}

/**
 * 租户管理 分页查询接口
 * @param {Object} data
 */
export const pageQueryTent = (data) => {
    return request({
        url: '/api-sys/sys/tent/pageQuery',
        method: 'post',
        data
    })
}

/**
 * 租户管理 不分页查询接口
 * @param {Object} data
 */
export const queryTent = (data) => {
    return request({
        url: '/api-sys/sys/tent/query',
        method: 'post',
        data
    })
}

/**
 * 租户管理 修改状态接口
 * @param {Object} data
 */
export const updateStatusTent = (data) => {
    return request({
        url: '/api-sys/sys/tent/updateStatus',
        method: 'post',
        data
    })
}



/**
 * 租户管理 修改状态接口
 * @param {Object} data
 */
export const slogQuery = (data) => {
    return request({
        url: '/api-sys/sys/slog/query',
        method: 'post',
        data
    })
}


/**
 * 租户明细 系统设置 新增系统接口
 * @param {Object} data
 */
export const addSystemTent = (data) => {
    return request({
        url: '/api-sys/sys/tent/addSystem',
        method: 'post',
        data
    })
}

/**
 * 租户明细 系统设置 删除系统接口
 * @param {Object} data
 */
export const delSystemTent = (data) => {
    return request({
        url: '/api-sys/sys/tent/delSystem',
        method: 'post',
        data
    })
}
/**
 * 操作日志
 */
export const queryOperateLogFun = (data, tenementId) => {
    return request({
        url: '/api-sys/sys/methods/es/mustPageQuery',
        method: 'post',
        tenementId: tenementId,
        data
    })
}
